/*
 * LDIR
 *
 * LDIR, a GPS cartography application built for Let's Do It Romania eco
 * campaign.
 * Copyright (C) 2010 Genera Software <office@generasoftware.com>
 *
 * http://generasoftware.com/
 *
 * This program is free software; you can redistribute it and/or modify it under
 * the terms of the GNU General Public License as published by the Free Software
 * Foundation; either version 2 of the License, or (at your option) any later
 * version.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
 * details.
 *
 * You should have received a copy of the GNU General Public License along with
 * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
 * Place, Suite 330, Boston, MA 02111-1307 USA
 */
#ifndef LDIRWASTE_H
#define LDIRWASTE_H

#include <aknform.h>

class MEikCommandObserver;
class CEikFloatingPointEditor;
class CAknPopupFieldText;
class CAknIntegerEdwin;
class CEikEdwin;
class CWasteInfo;

/**
 * @class    CLDIRWaste LDIRWaste.h
 */
class CLDIRWaste : public CAknForm
    {
public:
    // constructors and destructor

    CLDIRWaste( CWasteInfo& aWasteInfo, MEikCommandObserver* aCommandObserver );
    static CLDIRWaste* NewL( CWasteInfo& aWasteInfo,
        MEikCommandObserver* aCommandObserver );
    static CLDIRWaste* NewLC( CWasteInfo& aWasteInfo,
        MEikCommandObserver* aCommandObserver );
    virtual ~CLDIRWaste();

    // from CEikDialog
    TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );

protected:
    // from CAknDialog
    void PreLayoutDynInitL();
    TBool OkToExitL( TInt aButtonId );

    // from CAknForm
    void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
    TBool QuerySaveChangesL();
    TBool SaveFormDataL();
    void DoNotSaveFormDataL();
    void ProcessCommandL( TInt aCommnad );
private:
    void LoadFromDataL();
    MEikCommandObserver* iCommandObserver;

private:
    CEikEdwin* iLongitude;
    CEikEdwin* iLatitude;
    CAknIntegerEdwin* iLength;
    CAknIntegerEdwin* iWidth;
    CAknIntegerEdwin* iHeight;
    CAknPopupFieldText* iDispersed;
    CAknIntegerEdwin* iBagEq;
    CAknIntegerEdwin* iUnreciclable;
    CAknIntegerEdwin* iGlass;
    CAknIntegerEdwin* iMetal;
    CAknIntegerEdwin* iPlastic;
    CAknIntegerEdwin* iCardboard;
    CAknIntegerEdwin* iRubber;
    CAknIntegerEdwin* iOversized;
    CAknIntegerEdwin* iConstruction;
    CAknPopupFieldText* iExcluded;
    CEikEdwin* iComment;
    CWasteInfo& iWasteInfo;
    };

#endif // LDIRWASTE_H
